<html>
<head><meta charset="utf-8"><title>issue-51813-dirty-list-in-dataflow · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html">issue-51813-dirty-list-in-dataflow</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="128741430"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128741430" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128741430">(Jun 27 2018 at 22:13)</a>:</h4>
<p>Hey <span class="user-mention" data-user-id="116191">@Pramod Bisht</span>, I saw you assigned <a href="https://github.com/rust-lang/rust/issues/51813" target="_blank" title="https://github.com/rust-lang/rust/issues/51813">https://github.com/rust-lang/rust/issues/51813</a> to yourself! Sounds good. Let me know how it goes.</p>



<a name="128755165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128755165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128755165">(Jun 28 2018 at 05:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <br>
as per your instruction I implemented something like this <a href="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208" target="_blank" title="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208">https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208</a><br>
However I am getting exception like this <a href="https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified" target="_blank" title="https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified">https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified</a></p>
<p>Could you give me pointer or two what I am doing wrong?</p>



<a name="128764222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764222">(Jun 28 2018 at 10:02)</a>:</h4>
<p>leaving aside relatively minor nits, I think the immediate bug is that you are populating the dirty list with the wrong thing. =)</p>



<a name="128764252"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764252" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764252">(Jun 28 2018 at 10:03)</a>:</h4>
<p>roughly speaking, the way that the propagation works is like this:</p>
<div class="codehilite"><pre><span></span>for each basic block B {
    compute new data D for B;
    for each successor S of B {
        if in_data(S) != D {
            in_data(S) = D;
            changed = true;
        }
    }
}
</pre></div>



<a name="128764301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764301">(Jun 28 2018 at 10:04)</a>:</h4>
<p>you changed it to this:</p>
<div class="codehilite"><pre><span></span>dirty_blocks = [];
for each block B in dirty_blocks {
    compute new data D for B;
    for each successor S of B {
        if in_data(S) != D {
            in_data(S) = D;
            changed = true;
        }
    }
    if any successor changed {
       dirty_blocks.push(B);
    }
}
</pre></div>



<a name="128764304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764304">(Jun 28 2018 at 10:04)</a>:</h4>
<p>(sort of)</p>



<a name="128764314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764314">(Jun 28 2018 at 10:04)</a>:</h4>
<p>here, you are pushing the block <code>B</code></p>



<a name="128764322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764322">(Jun 28 2018 at 10:04)</a>:</h4>
<p>but in fact <em>that</em> block is now "clean" -- that is, we've processed it</p>



<a name="128764334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764334">(Jun 28 2018 at 10:04)</a>:</h4>
<p>the dirty blocks are its successors</p>



<a name="128764348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764348">(Jun 28 2018 at 10:05)</a>:</h4>
<p>that is, you want something like this</p>
<div class="codehilite"><pre><span></span>dirty_blocks = [];
for each block B in dirty_blocks {
    compute new data D for B;
    for each successor S of B {
        if in_data(S) != D {
            in_data(S) = D;
            dirty_blocks.push(S);
            changed = true;
        }
    }
}
</pre></div>



<a name="128764352"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764352" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764352">(Jun 28 2018 at 10:05)</a>:</h4>
<p>(in fact, we should be able to remove the <code>changed</code> flag eventually and just check whether the dirty list is empty or not)</p>



<a name="128764402"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764402" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764402">(Jun 28 2018 at 10:06)</a>:</h4>
<p>you can actually manage the worklist quite well with a <code>FxHashSet</code> and a <code>VecDeque</code> combined</p>



<a name="128764405"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764405" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764405">(Jun 28 2018 at 10:06)</a>:</h4>
<p>but anyway let's get it working first then we'll fine-tune</p>



<a name="128764417"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764417" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764417">(Jun 28 2018 at 10:07)</a>:</h4>
<p>in terms of your gist, you will want to change <a href="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208#file-51813-L65-L66" target="_blank" title="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208#file-51813-L65-L66">these lines here</a>:</p>
<div class="codehilite"><pre><span></span><span class="w">             </span><span class="n">builder</span><span class="p">.</span><span class="n">propagate_bits_into_graph_successors_of</span><span class="p">(</span><span class="w"></span>
<span class="w">                 </span><span class="n">in_out</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="k">mut</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">changed</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">mir</span>::<span class="n">BasicBlock</span>::<span class="n">new</span><span class="p">(</span><span class="n">bb_idx</span><span class="p">),</span><span class="w"> </span><span class="n">bb_data</span><span class="p">));</span><span class="w"></span>
</pre></div>


<p>because you need to pass the dirty list into the function.</p>



<a name="128764465"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764465" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764465">(Jun 28 2018 at 10:08)</a>:</h4>
<p>actually, if we look at <a href="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L806-L810" target="_blank" title="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L806-L810">the source for <code>propagate_bits_into_graph_successors_of</code></a>, you can see that it <a href="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L825" target="_blank" title="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L825">mostly calls a helper function</a></p>



<a name="128764521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764521">(Jun 28 2018 at 10:10)</a>:</h4>
<p>that function is <a href="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L877-L888" target="_blank" title="https://github.com/rust-lang/rust/blob/ba196bdcb10736da5d14c961bd8962d80e300913/src/librustc_mir/dataflow/mod.rs#L877-L888"><code>propagate_bits_into_entry_set_for</code></a>; this function too wants to take the dirty list as argument. Instead of </p>
<div class="codehilite"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="n">set_changed</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="o">*</span><span class="n">changed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>


<p>it wants to do</p>
<div class="codehilite"><pre><span></span><span class="k">if</span><span class="w"> </span><span class="n">set_changed</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="n">dirty_list</span><span class="p">.</span><span class="n">push</span><span class="p">(</span><span class="o">*</span><span class="n">bb</span><span class="p">);</span><span class="w"></span>
<span class="w">    </span><span class="o">*</span><span class="n">changed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="p">;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</pre></div>


<p>(Also, we should change it to take <code>mir::BasicBlock</code> and not <code>&amp;mir::BasicBlock</code> -- this is just an integer, so the latter is kind of silly, but that's not really related)</p>



<a name="128764526"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128764526" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128764526">(Jun 28 2018 at 10:10)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> make sense?</p>



<a name="128773007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128773007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128773007">(Jun 28 2018 at 13:50)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> yes, it makes sense :)</p>



<a name="128808482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128808482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128808482">(Jun 29 2018 at 03:29)</a>:</h4>
<p>Hi <span class="user-mention" data-user-id="116009">@nikomatsakis</span>  as you instructed I implemented something like this <a href="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208/revisions" target="_blank" title="https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208/revisions">https://gist.github.com/PramodBisht/3bf922125f8948f27bf053bcd496c208/revisions</a><br>
This block compiles successfully. However, I am getting some weird error like this<br>
<a href="https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified" target="_blank" title="https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified">https://gist.github.com/PramodBisht/858da0bb18c59130e88ace5af3c2136f/revisions?diff=unified</a></p>
<p>Could you give pointer or two what I am doing wrong?</p>



<a name="128812469"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128812469" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128812469">(Jun 29 2018 at 05:38)</a>:</h4>
<p>please ignore this message, something occurred while checking message on android app.</p>



<a name="128819039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128819039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128819039">(Jun 29 2018 at 09:19)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> no worries. The android app is Zulip's big weakness, I would say... :(</p>



<a name="128822678"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128822678" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128822678">(Jun 29 2018 at 11:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> btw <a href="https://github.com/rust-lang/rust/pull/51896" target="_blank" title="https://github.com/rust-lang/rust/pull/51896">PR #51896</a>  may interest you -- it adds a similar work queue to the liveness computation</p>



<a name="128824521"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128824521" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128824521">(Jun 29 2018 at 11:58)</a>:</h4>
<p>also, <span class="user-mention" data-user-id="116191">@Pramod Bisht</span>, feel free to open a <code>[WIP]</code> PR with your branch. It tends to make it much easier for me to give feedback</p>



<a name="128824618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128824618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128824618">(Jun 29 2018 at 12:00)</a>:</h4>
<p>sure <span class="user-mention" data-user-id="116009">@nikomatsakis</span>, first I am trying to implement using naive approach, then I will do changes which will use your new implemented <code>work_queue</code>.</p>



<a name="128824631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128824631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128824631">(Jun 29 2018 at 12:01)</a>:</h4>
<p>is that okay?</p>



<a name="128824697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128824697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128824697">(Jun 29 2018 at 12:02)</a>:</h4>
<p>seems good</p>



<a name="128828509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128828509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128828509">(Jun 29 2018 at 13:41)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> please find WIP state here <a href="https://github.com/rust-lang/rust/pull/51900" target="_blank" title="https://github.com/rust-lang/rust/pull/51900">https://github.com/rust-lang/rust/pull/51900</a></p>



<a name="128828667"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128828667" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128828667">(Jun 29 2018 at 13:44)</a>:</h4>
<p>to be more precise this is the changeset <a href="https://github.com/rust-lang/rust/pull/51900/files#diff-e1d33bfc0f6996e6a7d96525162675e4" target="_blank" title="https://github.com/rust-lang/rust/pull/51900/files#diff-e1d33bfc0f6996e6a7d96525162675e4">https://github.com/rust-lang/rust/pull/51900/files#diff-e1d33bfc0f6996e6a7d96525162675e4</a></p>



<a name="128828744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128828744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128828744">(Jun 29 2018 at 13:46)</a>:</h4>
<p>I am also waiting for build to complete.</p>



<a name="128829094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128829094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128829094">(Jun 29 2018 at 13:54)</a>:</h4>
<p>great! <a href="https://github.com/rust-lang/rust/pull/51900#pullrequestreview-133233767" target="_blank" title="https://github.com/rust-lang/rust/pull/51900#pullrequestreview-133233767">first round of feedback here</a></p>



<a name="128829539"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128829539" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128829539">(Jun 29 2018 at 14:02)</a>:</h4>
<p>"odd annotation" == odd indentation ? ;)</p>



<a name="128830400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830400">(Jun 29 2018 at 14:17)</a>:</h4>
<p>I think for this line <code>let sets = builder.flow_state.sets.for_block(bb_idx); </code>, or I should use integer form of BasicBlock?</p>



<a name="128830467"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830467" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830467">(Jun 29 2018 at 14:18)</a>:</h4>
<p>video link was posted accidentally :)</p>



<a name="128830474"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830474" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Santiago Pastorino <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830474">(Jun 29 2018 at 14:18)</a>:</h4>
<p>(deleted)</p>



<a name="128830478"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830478" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830478">(Jun 29 2018 at 14:18)</a>:</h4>
<p>I'm confused</p>



<a name="128830564"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830564" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830564">(Jun 29 2018 at 14:20)</a>:</h4>
<p>I think for this line <code>let sets = builder.flow_state.sets.for_block(bb_idx);</code> we may need to maintain counter <code>bb_idx</code>, I think right value should be integer form of <code>BasicBlock</code> right?</p>



<a name="128830592"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830592" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830592">(Jun 29 2018 at 14:21)</a>:</h4>
<p>hmm, let me look</p>



<a name="128830614"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830614" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830614">(Jun 29 2018 at 14:21)</a>:</h4>
<p>oh, yes, you can use <code>bb</code></p>



<a name="128830618"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128830618" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128830618">(Jun 29 2018 at 14:21)</a>:</h4>
<p>you can use <code>bb.index()</code> or something like that</p>



<a name="128831295"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128831295" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128831295">(Jun 29 2018 at 14:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> tidy failed before and is likely going to fail again</p>



<a name="128831350"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128831350" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128831350">(Jun 29 2018 at 14:34)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> let me check.</p>



<a name="128831435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128831435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128831435">(Jun 29 2018 at 14:36)</a>:</h4>
<p>oh tidy</p>



<a name="128831436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128831436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128831436">(Jun 29 2018 at 14:36)</a>:</h4>
<p>so annoying</p>



<a name="128832157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128832157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128832157">(Jun 29 2018 at 14:50)</a>:</h4>
<p>My local build got failed, fixing them.</p>



<a name="128836031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836031">(Jun 29 2018 at 16:01)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  many testcases related to that failed. I have pasted logs at <a href="https://gist.github.com/PramodBisht/0ad38646e007973c0924996a0e186eae" target="_blank" title="https://gist.github.com/PramodBisht/0ad38646e007973c0924996a0e186eae">https://gist.github.com/PramodBisht/0ad38646e007973c0924996a0e186eae</a></p>



<a name="128836202"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836202" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836202">(Jun 29 2018 at 16:04)</a>:</h4>
<p>you might need <a href="https://github.com/rust-lang/rust/pull/51896/commits/f140bcac20777ac15824324b517420b11edd07b2" target="_blank" title="https://github.com/rust-lang/rust/pull/51896/commits/f140bcac20777ac15824324b517420b11edd07b2">https://github.com/rust-lang/rust/pull/51896/commits/f140bcac20777ac15824324b517420b11edd07b2</a></p>



<a name="128836242"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836242" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836242">(Jun 29 2018 at 16:05)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> I rebased branch with that commit.</p>



<a name="128836349"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836349" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836349">(Jun 29 2018 at 16:08)</a>:</h4>
<p>and it still fails anyway, you mean ?</p>



<a name="128836534"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836534" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836534">(Jun 29 2018 at 16:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> yes you are right, actually I pushed that to GH but I forgot to take pull on Janitor's remote machine where I execute that.</p>



<a name="128836552"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128836552" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128836552">(Jun 29 2018 at 16:11)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span></p>



<a name="128839275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839275">(Jun 29 2018 at 17:11)</a>:</h4>
<p>I left some nits <span class="user-mention" data-user-id="116191">@Pramod Bisht</span> but it <em>looks</em> correct to me — are you still getting test failures?</p>



<a name="128839348"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839348" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839348">(Jun 29 2018 at 17:13)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> no I am not getting any test case failure. Checking nits</p>



<a name="128839357"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839357" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839357">(Jun 29 2018 at 17:13)</a>:</h4>
<p>ah, ok, great!</p>



<a name="128839363"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839363" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839363">(Jun 29 2018 at 17:13)</a>:</h4>
<p>I can merge your changes in and re-profile perhaps</p>



<a name="128839512"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839512" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839512">(Jun 29 2018 at 17:17)</a>:</h4>
<p>before that should I change <code>ref target</code> to <code>target</code>, btw that looks much cleaner and other nits. Plus I am waiting for travis CI to complete.</p>



<a name="128839519"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839519" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839519">(Jun 29 2018 at 17:17)</a>:</h4>
<p>ah well I just meant merge it into this local branch I have</p>



<a name="128839523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839523">(Jun 29 2018 at 17:17)</a>:</h4>
<p>so I can measure the effect</p>



<a name="128839525"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839525" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839525">(Jun 29 2018 at 17:17)</a>:</h4>
<p>(locally)</p>



<a name="128839527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839527">(Jun 29 2018 at 17:17)</a>:</h4>
<p>I'll r+ once the nits are fixed, yes</p>



<a name="128839528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839528">(Jun 29 2018 at 17:17)</a>:</h4>
<p>(and travis is happy etc)</p>



<a name="128839575"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839575" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839575">(Jun 29 2018 at 17:18)</a>:</h4>
<p>given that this builds on my PR... I wonder if I should just close that in favor of yours</p>



<a name="128839576"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839576" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839576">(Jun 29 2018 at 17:18)</a>:</h4>
<p>I'd like to have the original r+'d</p>



<a name="128839579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839579">(Jun 29 2018 at 17:18)</a>:</h4>
<p>seems like it'd be better for them to merge separately though, just to have the perf data if nothing else</p>



<a name="128839777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839777">(Jun 29 2018 at 17:22)</a>:</h4>
<p>@nikomatsakis do you run perf on your local machine, or we have dedicated machine for that?<br>
Almost a week back, I tried to follow your <code>perf</code> instruction, but got stuck while installing it.</p>



<a name="128839799"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839799" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839799">(Jun 29 2018 at 17:22)</a>:</h4>
<p>I run <code>perf</code> locally, yes, but we <em>also</em> have a dedicatd perf machine: <a href="http://perf.rust-lang.org" target="_blank" title="http://perf.rust-lang.org">perf.rust-lang.org</a></p>



<a name="128839801"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839801" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839801">(Jun 29 2018 at 17:22)</a>:</h4>
<p>(that shows the results)</p>



<a name="128839802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839802">(Jun 29 2018 at 17:22)</a>:</h4>
<p>it computes the timing results from each PR as it lands</p>



<a name="128839810"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839810" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839810">(Jun 29 2018 at 17:23)</a>:</h4>
<p>but we also sometimes compute results for PRs that not yet landed</p>



<a name="128839815"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839815" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839815">(Jun 29 2018 at 17:23)</a>:</h4>
<p>are you using linux?</p>



<a name="128839818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839818">(Jun 29 2018 at 17:23)</a>:</h4>
<p>I'm surprised you had to 'install' perf :)</p>



<a name="128839819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839819">(Jun 29 2018 at 17:23)</a>:</h4>
<p>Yes</p>



<a name="128839821"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839821" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839821">(Jun 29 2018 at 17:23)</a>:</h4>
<p>or maybe I've always done that and forgotten ;)</p>



<a name="128839826"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839826" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839826">(Jun 29 2018 at 17:23)</a>:</h4>
<p>that said, I should also add instructions for profiling with callgrind and the like</p>



<a name="128839830"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839830" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839830">(Jun 29 2018 at 17:23)</a>:</h4>
<p>which is also excellent</p>



<a name="128839873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839873">(Jun 29 2018 at 17:24)</a>:</h4>
<p>`<br>
WARNING: perf not found for kernel 4.6.0-040600rc7</p>
<p>You may need to install the following packages for this specific kernel:<br>
    linux-tools-4.6.0-040600rc7-generic<br>
    linux-cloud-tools-4.6.0-040600rc7-generic</p>
<p>You may also want to install one of the following packages to keep up to date:<br>
    linux-tools-generic-lts-&lt;series&gt;<br>
    linux-cloud-tools-generic-lts-&lt;series&gt;</p>
<p>`<br>
I get something like that</p>



<a name="128839878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839878">(Jun 29 2018 at 17:24)</a>:</h4>
<p>ah... I have no idea :)</p>



<a name="128839883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839883">(Jun 29 2018 at 17:24)</a>:</h4>
<p>sounds like you maybe need to upgrade :)</p>



<a name="128839948"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839948" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839948">(Jun 29 2018 at 17:26)</a>:</h4>
<p>but those series perf packages were not found when I searched them.<br>
I will check it again some other time.<br>
Yes, I am using Ubuntu 14.04, because of some legacy stuff, I always deferred upgrading it.</p>



<a name="128839949"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839949" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839949">(Jun 29 2018 at 17:26)</a>:</h4>
<p>yeah, that might be it. you sound a bit like me ;)</p>



<a name="128839950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839950">(Jun 29 2018 at 17:26)</a>:</h4>
<p>getting back to nits :)</p>



<a name="128839951"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839951" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839951">(Jun 29 2018 at 17:26)</a>:</h4>
<p>I'm always hating to upgrade</p>



<a name="128839958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839958">(Jun 29 2018 at 17:26)</a>:</h4>
<p>:)</p>



<a name="128839989"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128839989" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128839989">(Jun 29 2018 at 17:27)</a>:</h4>
<p>/me just wants the computer to <em>work</em> damn it</p>



<a name="128840260"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128840260" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128840260">(Jun 29 2018 at 17:32)</a>:</h4>
<blockquote>
<p>/me just wants the computer to <em>work</em> damn it</p>
</blockquote>
<p>You know how programmers make the computer work again when it wasn't working in the first place, yeah? <span class="emoji emoji-1f609" title="wink">:wink:</span></p>



<a name="128840277"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128840277" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128840277">(Jun 29 2018 at 17:33)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> is still running Rust 1.0</p>



<a name="128840288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128840288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128840288">(Jun 29 2018 at 17:33)</a>:</h4>
<p>lololol</p>



<a name="128840290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128840290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128840290">(Jun 29 2018 at 17:33)</a>:</h4>
<p>you know me</p>



<a name="128841116"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128841116" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128841116">(Jun 29 2018 at 17:51)</a>:</h4>
<p>hmm, my profiling results are not that encouraging :( but I'm not sure I trust my measurements.</p>



<a name="128841119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128841119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128841119">(Jun 29 2018 at 17:51)</a>:</h4>
<p>we should definitely do a bors try run</p>



<a name="128841189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128841189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128841189">(Jun 29 2018 at 17:52)</a>:</h4>
<p>(we may want to experiment with alternative execution strategies too; it's not always clear that a work queue is fastest, for example)</p>



<a name="128843424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843424">(Jun 29 2018 at 18:37)</a>:</h4>
<p>should we consider giving flags for alternative execution strategy?</p>



<a name="128843479"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843479" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843479">(Jun 29 2018 at 18:38)</a>:</h4>
<p>I'd say that's a bit premature</p>



<a name="128843487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843487">(Jun 29 2018 at 18:39)</a>:</h4>
<p>let's do some more measurement first</p>



<a name="128843491"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843491" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843491">(Jun 29 2018 at 18:39)</a>:</h4>
<p>did you address the nits btw?</p>



<a name="128843513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843513">(Jun 29 2018 at 18:40)</a>:</h4>
<p>have given build command with those nits</p>



<a name="128843582"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843582" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843582">(Jun 29 2018 at 18:40)</a>:</h4>
<p>will raise PR if everything goes fine.</p>



<a name="128843616"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843616" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843616">(Jun 29 2018 at 18:41)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="+1">:+1:</span></p>



<a name="128843621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843621">(Jun 29 2018 at 18:41)</a>:</h4>
<p>I will I think checkout <em>just</em> your PR</p>



<a name="128843623"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843623" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843623">(Jun 29 2018 at 18:42)</a>:</h4>
<p>and make an optimized build of that</p>



<a name="128843648"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843648" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843648">(Jun 29 2018 at 18:42)</a>:</h4>
<p>plus the master it's based on</p>



<a name="128843661"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843661" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843661">(Jun 29 2018 at 18:42)</a>:</h4>
<p>and compare the two</p>



<a name="128843672"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843672" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843672">(Jun 29 2018 at 18:42)</a>:</h4>
<p>the nits shouldn't really affect perf anyway</p>



<a name="128843689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843689">(Jun 29 2018 at 18:43)</a>:</h4>
<p>I guess it's based on my commit</p>



<a name="128843791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128843791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128843791">(Jun 29 2018 at 18:45)</a>:</h4>
<p>(I noticed the nits aren't — this time — signed "Your capricious reviewer" :D)</p>



<a name="128844812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844812">(Jun 29 2018 at 19:05)</a>:</h4>
<p>hmm I was thinking about this some more</p>



<a name="128844829"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844829" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844829">(Jun 29 2018 at 19:05)</a>:</h4>
<p>there is some research in different eval strategies</p>



<a name="128844878"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844878" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844878">(Jun 29 2018 at 19:06)</a>:</h4>
<p>e.g., one thing you can do is to compute SCC (strongly connected components / cycles, basically)</p>



<a name="128844883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844883">(Jun 29 2018 at 19:06)</a>:</h4>
<p>which converts the flow graph into a tree</p>



<a name="128844888"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844888" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844888">(Jun 29 2018 at 19:06)</a>:</h4>
<p>and then you can do a single walk over the tree, iterating only within a component etc</p>



<a name="128844895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844895">(Jun 29 2018 at 19:06)</a>:</h4>
<p>I guess we should go find those papers ;)</p>



<a name="128844915"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844915" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844915">(Jun 29 2018 at 19:07)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> hmm yeah I'm definitely finding that your branch is slower :(</p>



<a name="128844924"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844924" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844924">(Jun 29 2018 at 19:07)</a>:</h4>
<p>for..  whatever reason</p>



<a name="128844983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128844983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128844983">(Jun 29 2018 at 19:08)</a>:</h4>
<p>the paper I was thinking of <a href="https://pdfs.semanticscholar.org/db53/41a4bc653b84a12780139d795a910c1c8b60.pdf" target="_blank" title="https://pdfs.semanticscholar.org/db53/41a4bc653b84a12780139d795a910c1c8b60.pdf">https://pdfs.semanticscholar.org/db53/41a4bc653b84a12780139d795a910c1c8b60.pdf</a></p>



<a name="128846516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846516">(Jun 29 2018 at 19:38)</a>:</h4>
<p>Yup this should have run faster :( . Lets see what we can get from that paper.</p>



<a name="128846647"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846647" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846647">(Jun 29 2018 at 19:40)</a>:</h4>
<p><em>could</em> also be a bug somewhere</p>



<a name="128846651"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846651" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846651">(Jun 29 2018 at 19:40)</a>:</h4>
<p>might be worth dumping the debug logs</p>



<a name="128846656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846656">(Jun 29 2018 at 19:40)</a>:</h4>
<p>and making sure it's doing what we expect</p>



<a name="128846740"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846740" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846740">(Jun 29 2018 at 19:42)</a>:</h4>
<p>if number of iteration have reduced then this should have run faster.</p>



<a name="128846774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128846774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128846774">(Jun 29 2018 at 19:43)</a>:</h4>
<p>I think maintaining counter and printing in debug log should help.</p>



<a name="128847160"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847160" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847160">(Jun 29 2018 at 19:52)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  instead of populating basic blocks from <code>IndexVec</code> I did this <br>
<code>let mut dirty_queue: WorkQueue&lt;mir::BasicBlock&gt; = WorkQueue::with_all(self.builder.mir.basic_blocks().len());</code> assuming they are <code>bb</code> in ascending integer order. do you think this can also be a cause ?</p>



<a name="128847629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847629">(Jun 29 2018 at 20:01)</a>:</h4>
<p>I think that was the same as what it was doing before</p>



<a name="128847671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847671">(Jun 29 2018 at 20:02)</a>:</h4>
<p>there was <em>some</em> revision -- not sure where -- where we were iterating in reverse-post-order instead</p>



<a name="128847679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847679">(Jun 29 2018 at 20:02)</a>:</h4>
<p>but you'd have to look back in the history to see where that was removed</p>



<a name="128847682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847682">(Jun 29 2018 at 20:02)</a>:</h4>
<p>probably because computing the RPO took time</p>



<a name="128847685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128847685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128847685">(Jun 29 2018 at 20:02)</a>:</h4>
<p>and it wasn't worth it</p>



<a name="128972170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972170">(Jul 02 2018 at 16:02)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> the perf results are quite interesting:</p>
<p><a href="http://perf.rust-lang.org/compare.html?start=87ecf5442ced38a6253e670dd6d87c0c334b21fb&amp;end=ddc3f99bad126b9f5755177d82f651d8f91d8683&amp;stat=instructions%3Au" target="_blank" title="http://perf.rust-lang.org/compare.html?start=87ecf5442ced38a6253e670dd6d87c0c334b21fb&amp;end=ddc3f99bad126b9f5755177d82f651d8f91d8683&amp;stat=instructions%3Au">http://perf.rust-lang.org/compare.html?start=87ecf5442ced38a6253e670dd6d87c0c334b21fb&amp;end=ddc3f99bad126b9f5755177d82f651d8f91d8683&amp;stat=instructions%3Au</a></p>
<p>It seems like my local measurement was correct but misleading -- clap-rs <em>did</em> get slower (by 2.5%) but lots of stuff is way faster!</p>



<a name="128972212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972212">(Jul 02 2018 at 16:03)</a>:</h4>
<p>e.g., serde-check goes from a ratio of 1.33 to 1.2</p>



<a name="128972220"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972220" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972220">(Jul 02 2018 at 16:03)</a>:</h4>
<p>seems like we should land it :)</p>



<a name="128972229"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972229" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972229">(Jul 02 2018 at 16:03)</a>:</h4>
<p>though it may be interesting to experiment with further stuff</p>



<a name="128972314"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972314" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972314">(Jul 02 2018 at 16:05)</a>:</h4>
<p>since it looks like it's just clap, it could be a bit of noise as well</p>



<a name="128972317"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972317" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972317">(Jul 02 2018 at 16:05)</a>:</h4>
<p>could be, although I saw it too</p>



<a name="128972366"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972366" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972366">(Jul 02 2018 at 16:06)</a>:</h4>
<p>it turns out that this version of clap is quite different from the current one</p>



<a name="128972371"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972371" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972371">(Jul 02 2018 at 16:06)</a>:</h4>
<p>we should test with "real clap" too</p>



<a name="128972386"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972386" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972386">(Jul 02 2018 at 16:06)</a>:</h4>
<p>this particular one is a historical artifact that used to cause some kind of perf pathology during MIR construction</p>



<a name="128972445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972445">(Jul 02 2018 at 16:07)</a>:</h4>
<p>yeah even though it's code from the real world, it was pinpointing a defect much like the other synthetized stress tests</p>



<a name="128972682"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972682" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972682">(Jul 02 2018 at 16:11)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span></p>



<a name="128972762"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972762" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972762">(Jul 02 2018 at 16:12)</a>:</h4>
<p>I'm inclined to r+, unless you want to cleanup the history <span class="user-mention" data-user-id="116191">@Pramod Bisht</span></p>



<a name="128972777"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972777" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972777">(Jul 02 2018 at 16:12)</a>:</h4>
<p>it needs a rebase anyway</p>



<a name="128972782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972782">(Jul 02 2018 at 16:12)</a>:</h4>
<p>I rebased <a href="https://github.com/rust-lang/rust/pull/51896" target="_blank" title="https://github.com/rust-lang/rust/pull/51896">https://github.com/rust-lang/rust/pull/51896</a> and r+'d it with p=1</p>



<a name="128972783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972783">(Jul 02 2018 at 16:12)</a>:</h4>
<p>since you were building on that</p>



<a name="128972788"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972788" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972788">(Jul 02 2018 at 16:12)</a>:</h4>
<p>so hopefully it'll land in a few hours</p>



<a name="128972802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972802">(Jul 02 2018 at 16:12)</a>:</h4>
<p>(it's currently next in the queue)</p>



<a name="128972890"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972890" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972890">(Jul 02 2018 at 16:14)</a>:</h4>
<p>Yes, let me clean history and fix conflicts. Will do that once I reach home :)</p>



<a name="128972903"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128972903" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128972903">(Jul 02 2018 at 16:15)</a>:</h4>
<p>thanks for your work on this</p>



<a name="128976091"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128976091" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128976091">(Jul 02 2018 at 17:14)</a>:</h4>
<blockquote>
<p>thanks for your work on this</p>
</blockquote>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span>  no, thank you, I just did what you instructed. I am very beginner in rust itself :)</p>



<a name="128980583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980583">(Jul 02 2018 at 18:38)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> now that <a href="https://github.com/rust-lang/rust/pull/51869" target="_blank" title="https://github.com/rust-lang/rust/pull/51869">https://github.com/rust-lang/rust/pull/51869</a> has landed, shouldn't the IdxSet::clone_from  be a call to overwrite ?</p>



<a name="128980854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980854">(Jul 02 2018 at 18:44)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span>  checking</p>



<a name="128980868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980868">(Jul 02 2018 at 18:44)</a>:</h4>
<p>(yes, probably)</p>



<a name="128980921"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980921" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980921">(Jul 02 2018 at 18:45)</a>:</h4>
<p>left this review to point out the spot: <a href="https://github.com/rust-lang/rust/pull/51900#pullrequestreview-133736810" target="_blank" title="https://github.com/rust-lang/rust/pull/51900#pullrequestreview-133736810">https://github.com/rust-lang/rust/pull/51900#pullrequestreview-133736810</a></p>



<a name="128980958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980958">(Jul 02 2018 at 18:46)</a>:</h4>
<p>(good catch <span class="user-mention" data-user-id="116113">@lqd</span>)</p>



<a name="128980974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980974">(Jul 02 2018 at 18:46)</a>:</h4>
<p>although I guess travis caught it too ;)</p>



<a name="128980983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128980983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128980983">(Jul 02 2018 at 18:46)</a>:</h4>
<p>I was about to say Travis did catch it before I did :)</p>



<a name="128981214"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981214" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981214">(Jul 02 2018 at 18:51)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="116113">@lqd</span> done!</p>



<a name="128981222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981222">(Jul 02 2018 at 18:51)</a>:</h4>
<p>jfyi <a href="https://github.com/rust-lang/rust/pull/51896" target="_blank" title="https://github.com/rust-lang/rust/pull/51896">https://github.com/rust-lang/rust/pull/51896</a> is pending on bors now</p>



<a name="128981227"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981227" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981227">(Jul 02 2018 at 18:51)</a>:</h4>
<p>so tonight/tomorrow you can rebase ;)</p>



<a name="128981269"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981269" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981269">(Jul 02 2018 at 18:52)</a>:</h4>
<p>I dont' know what the cycle time is these days</p>



<a name="128981297"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981297" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981297">(Jul 02 2018 at 18:53)</a>:</h4>
<p>couple hours now IIRC</p>



<a name="128981318"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128981318" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128981318">(Jul 02 2018 at 18:53)</a>:</h4>
<p>and it started 45mins ago, so not long now :)</p>



<a name="128985189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128985189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128985189">(Jul 02 2018 at 20:22)</a>:</h4>
<p><span class="user-mention" data-user-id="116191">@Pramod Bisht</span> ok go ahead and rebase :)</p>



<a name="128985649"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128985649" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128985649">(Jul 02 2018 at 20:31)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> rebased with master.</p>



<a name="128987370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/128987370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#128987370">(Jul 02 2018 at 21:04)</a>:</h4>
<p>r+</p>



<a name="129087177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow/near/129087177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pramod Bisht <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/issue-51813-dirty-list-in-dataflow.html#129087177">(Jul 04 2018 at 14:12)</a>:</h4>
<p>Yes, let me clean history and fix conflicts. Will do that once I reach home :)</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>